package com.night.sqlserver.service;

import com.night.sqlserver.entity.source.Person;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public interface DataService {

    List<HashMap> findAllSourceTables();

    List<HashMap> findColumnByTable(String tableName);

    //查询目的数据库是否存在指定的表
    List<HashMap> isTargetTableExist(Map map);

    //生产建表语句
    String generateCreateTableSQL();

    //生成插入insert语句
    String generateInsertSQL();

    /**
     * 1.查询源数据库所有的表
     * 2.生成建表语句
     *
     * @return 执行结果
     */
    Map transferTable();

    /**
     * 循环转移数据
     *
     * @return
     */
    Map transferData();

    Person selectById(String id);

    //转存指定id的记录
    int transferById(String id);

    //使用实体批量转存
    Map batchByEntity(String tableName, int start, int end);

    Map batch();

    //使用mybatis支持的批量插入
    Map batchByList();

}
